/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.agileClinic.modelo;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Classe gerenciado do Projeto @project criado em 12/06/2013
 *
 * @author Ari
 */
@Entity
@Table
public class Agendamento implements Serializable{
    
    @Temporal(TemporalType.TIMESTAMP)
    @Id
    private Date dataAgendamento;
    
    @ManyToOne
    @JoinColumn(name="idMed",referencedColumnName="idMed")
    private Medico medico;
    
    @ManyToOne
    @JoinColumn(name="id",referencedColumnName="id")
    private Paciente paciente;

    public Date getDataAgendamento() {
        return dataAgendamento;
    }

    public void setDataAgendamento(Date dataAgendamento) {
        this.dataAgendamento = dataAgendamento;
    }

    public Medico getMedico() {
        return medico;
    }

    public void setMedico(Medico medico) {
        this.medico = medico;
    }

    public Paciente getPaciente() {
        return paciente;
    }

    public void setPaciente(Paciente paciente) {
        this.paciente = paciente;
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 23 * hash + (this.dataAgendamento != null ? this.dataAgendamento.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Agendamento other = (Agendamento) obj;
        if (this.dataAgendamento != other.dataAgendamento && (this.dataAgendamento == null || !this.dataAgendamento.equals(other.dataAgendamento))) {
            return false;
        }
        return true;
    }
    
    
    
    

}
